1. Technical Field
The present invention relates to the field of data formatting using markup languages, and more particularly, to a method and apparatus for an extensible markup language (XML) calendar-telephony interface.
2. Description of the Related Art
Electronic calendars have become popular and are commonly used to track daily events and activities. Electronic calendars (calendar) typically have telephone related information pertaining to the accessibility of a user. For example, a calendar can include an entry having a telephone number which indicates the contact information for a particular time of the day. A calendar-telephony interface allows a telephone application to utilize the interface to access telephone call related entries in a calendar and to use the accessed information to control the telephone call. For example, a telephony application can utilize a calendar-telephony interface to extract a telephone number from a calendar database and utilize that number to instruct, for example, a private branch exchange (PBX) how to terminate an incoming call.
However, entries in existing calendars are usually in free-form text areas which make recognition and identification of the entries difficult. Furthermore, if there is a change to the information contained in the database, then any application requiring access to the calendar database must be accordingly modified. This makes it very difficult to create and maintain existing calendar-telephony interface. Hence, what is needed is a more flexible approach for providing a calendar-telephony interface so that information contained in a calendar can be easily accessed and manipulated by telephony applications.
The invention provides a method and apparatus for routing a telephone call based on a calendar telephony interface. The method includes the steps of parsing telephone data associated with the telephone call and determining from the parsed telephone data, a called telephone number and an identity of a person associated with the called number. An XML formatted calendar entry associated with the identified person and be retrieved and call control information extracted from the XML formatted calendar entry. The telephone call can be routed based on the extracted routing information. The extracting step can include the step of parsing the XML formatted calendar entry to extract call control information located within the entries. The call control information can include but is not limited to a call forwarding instruction having a call forwarded number.
The invention further provides a method for integrating a telephony interface and a calendaring tool. The method includes the step of defining an XML element which represents a calendar entry in the calendar tool. A call routing instruction can be formatted with the defined XML element and the XML formatted call routing instruction can be inserted into an XML formatted document. The XML formatted document can include a calendar entry within the calendaring tool. The calendar entry can be stored in an associated database. An application program can be utilized for maintaining the database. The database can be accessible by the telephony application.
The invention further includes a system for providing an XML calendar-telephony interface. The system can include a calendar having XML formatted data including call control data, a telephony application for determining the routing of a call based on the XML formatted call control data and a TCAP interface for communicating the call control information between the telephony application and a telephone signaling device.
The invention also includes a system for providing an XML calendar-telephony interface, which includes a calendar having data fields for an entry formatted in XML format. The formatted entry can include call control information. A telephony interface can facilitate communication of the XML formatted data to a telephone network signaling device which can be utilized to control a telephony call feature. The telephony interface can further include an API for communicating call control information to the telephone network signaling device.
The invention also provides a machine readable storage having stored thereon, a computer program having a plurality of code sections, said code sections executable by a machine for causing the machine to perform the steps which were previously disclosed.